package pantallas;
import control.ManejadorUnirsePartida;
import java.awt.Choice;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class PantallaUnirsePartida implements ActionListener, WindowListener {

/************atributos**********************************************/
    private ManejadorUnirsePartida mup;
    private JFrame ventanaUnirse;
    
    private TextField nombreJugador;
    private Choice tipoPersonaje;
    private TextField ip;
    
/*****************************************************************/

/************metodos**********************************************/
    public PantallaUnirsePartida() {}
    public PantallaUnirsePartida(ManejadorUnirsePartida mup) {
        this.mup = mup;
        crearPantalla();
        mostrarPantalla();
    }

    public void crearPantalla () {
        ventanaUnirse = new JFrame("Unirse a Partida");
        ventanaUnirse.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        ventanaUnirse.setBounds(100, 100, 400, 300);
        ventanaUnirse.getContentPane().setLayout(null);
        ventanaUnirse.addWindowListener(this);

        JLabel crearPartida = new JLabel("Unirse a una Partida:");
        crearPartida.setBounds(15, 10, 150, 20);
        ventanaUnirse.getContentPane().add(crearPartida);

        JLabel txt0 = new JLabel("Nombre:");
        txt0.setBounds(15, 100, 350, 20);
        ventanaUnirse.getContentPane().add(txt0);

        nombreJugador = new TextField();
        nombreJugador.setBounds(170,100, 110, 20);
        ventanaUnirse.getContentPane().add(nombreJugador);

        JLabel txt1 = new JLabel("Tipo de Persnaje:");
        txt1.setBounds(15, 130, 350, 20);
        ventanaUnirse.getContentPane().add(txt1);

        tipoPersonaje = new Choice();
        tipoPersonaje.addItem("BoneFace");
        tipoPersonaje.addItem("Gayro");
        tipoPersonaje.setBounds(170, 130, 100, 20);
        ventanaUnirse.getContentPane().add(tipoPersonaje);

        JLabel txt2 = new JLabel("IP del Servidor");
        txt2.setBounds(15, 160, 100, 20);
        ventanaUnirse.getContentPane().add(txt2);

        ip = new TextField("localhost");
        ip.setBounds(170, 160, 110, 20);
        ventanaUnirse.getContentPane().add(ip);

        JButton unirse = new JButton("Unirse");
        unirse.setBounds(80, 250, 100, 20);
        ventanaUnirse.getContentPane().add(unirse);
        unirse.setMnemonic(KeyEvent.VK_U);
        unirse.setActionCommand("unirse");
        unirse.addActionListener(this);

        JButton cancelar = new JButton("Cancelar");
        cancelar.setBounds(200, 250, 90, 20);
        ventanaUnirse.getContentPane().add(cancelar);
        cancelar.setMnemonic(KeyEvent.VK_C);
        cancelar.setActionCommand("cancelar");
        cancelar.addActionListener(this);
    }
    public void mostrarPantalla(){
        ventanaUnirse.setVisible(true);
    }
    public void ocultarPantalla(){
        ventanaUnirse.setVisible(false);
    }
    public void actionPerformed(ActionEvent e) {
        if ("cancelar".equals(e.getActionCommand())){
            ocultarPantalla();
            mup.mostrarPantallaPrincipal();
        }
        if ("unirse".equals(e.getActionCommand())){
            mup.generadorUnionPartida();
        }
    }

    public String getIP() {
        return ip.getText();
    }
    public int getTipoPersonaje() {
     //   return tipoPersonaje.getSelectedItem();
        return tipoPersonaje.getSelectedIndex();
    }
    public String getnombre() {
        return nombreJugador.getText();
    }

    public void windowOpened(WindowEvent e) { }
    public void windowClosing(WindowEvent e) {
        System.exit(0);
    }
    public void windowClosed(WindowEvent e) {
        System.exit(0);
    }
    public void windowIconified(WindowEvent e) { }
    public void windowDeiconified(WindowEvent e) { }
    public void windowActivated(WindowEvent e) { }
    public void windowDeactivated(WindowEvent e) { }
/*****************************************************************/
}
